using System.ComponentModel.DataAnnotations.Schema;

namespace Lzfy_Refund_Service.Models
{
    public class RefundTaskMaster
    {
        public long Id { get; set; }
        
        [Column("input_date")]
        public DateTime? InputDate { get; set; }
        
        [Column("username")]
        public string? Username { get; set; }
        
        [Column("fullname")]
        public string? Fullname { get; set; }
        
        [Column("account_count")]
        public int? AccountCount { get; set; }
        
        [Column("account_sum_balance")]
        public decimal? AccountSumBalance { get; set; }
    }

    public class RefundTaskMasterCreateRequest
    {
        public string? Username { get; set; }
        public string? Fullname { get; set; }
        public int? AccountCount { get; set; }
        public decimal? AccountSumBalance { get; set; }
    }

    public class RefundTaskMasterQueryRequest
    {
        public DateTime? StartDate { get; set; }
        public DateTime? EndDate { get; set; }
        public string? Username { get; set; }
        public string? Fullname { get; set; }
        public int PageIndex { get; set; } = 1;
        public int PageSize { get; set; } = 20;
    }

    public class RefundTaskMasterResponse
    {
        public long Id { get; set; }
        public DateTime? InputDate { get; set; }
        public string? Username { get; set; }
        public string? Fullname { get; set; }
        public int? AccountCount { get; set; }
        public decimal? AccountSumBalance { get; set; }
        public List<RefundTaskDetailResponse> Details { get; set; } = new List<RefundTaskDetailResponse>();
    }
}